/* dll_issue_example.c */
#include <dlfcn.h>
#include <stdio.h>
void show1(char* msg, int value);

int main(int argc, char* argv[])
{
    void *dll;
    void (*fn)(char*, int);
    
    show1("pol", 42);
    
    if ((dll = dlopen("./libutil2.so", RTLD_NOW|RTLD_GLOBAL)) == 0) {
        fprintf(stderr, "%s\n", dlerror()); 
        return 1;   
    }    
    if ((fn = dlsym(dll, "show2")) == 0) {
        fprintf(stderr, "%s\n", dlerror());
        return 2;    
    }
    (fn)("pol", 42);
    return 0;
}
